Controlling frequency of user device access to a network

ABSTRACT

A device may receive information identifying a service frequency for a user device. The device may start a service gap timer for the user device, with the service gap timer corresponding to the service frequency. The device may receive a service request from the user device. The device may determine whether the service gap timer has expired. The device may selectively accept or reject the service request based on determining whether the service gap timer has expired. The device may reject the service request when the service gap timer has not expired. The device may accept the service request when the service gap timer has expired.

BACKGROUND

Networks, including wireless networks, may be used for communications byvarious user devices, including machine-to-machine (M2M) and/or“Internet of Things” (IoT) devices. User devices consume networkresources by sending or receiving data over the network. User devicesalso consume network resources each time a user device attempts toaccess the network to send or receive data over the network and/or toset up or maintain connectivity with the network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1C are diagrams of an overview of an example implementationdescribed herein;

FIG. 2 is a diagram of an example environment in which systems and/ormethods, described herein, may be implemented;

FIG. 3 is a diagram of example components of one or more devices of FIG.2;

FIG. 4 is a flow chart of an example process for controlling frequencyof user device access to a network; and

FIG. 5 is a call flow diagram of an example call flow for controllingfrequency of user device access to a network.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

Some user devices (e.g., some M2M or IoT devices, such as metering orlocation tracking devices) communicating over a network may send and/orreceive relatively small amounts of data (e.g., less than one kilobyteor even less than one hundred bytes). Based on the small amounts ofdata, such user devices may be used with small (e.g., relativelyinexpensive) data plans, which may only track total data usage in agiven period. However, some such user devices may send/receive smalldata packages with a high frequency, consuming significant networkresources each time the user devices access the network to set up anetwork connection. User devices that frequently send/receive small datapackages (e.g., hundreds of bytes) may consume more network resourcesthan user devices that send/receive much larger data packages (e.g., 500megabytes) less frequently. Furthermore, some user devices (e.g., someM2M or IoT devices) may frequently (e.g., every few seconds) performregistration/attachment to a network in order to maintain radioconnectivity, which may consume network resources that might otherwisebe available to other devices. Implementations described herein mayassist with tracking, controlling, and/or reducing network resourcesconsumed by user devices that frequently request network services.

FIGS. 1A-1C are diagrams of an overview of an example implementation 100described herein. As shown in FIG. 1A, assume that a user device (e.g.,an M2M device, an IoT device, etc.) desires to set up a networkconnection with and/or through downstream network equipment (e.g., aserving gateway (SGW), a packet data network gateway (PGW), a shortmessage service center (SMSC), etc.). As shown by reference number 105,the user device may send a registration request, via a base station, toa mobility management entity device (MME). As shown by reference number110, based on the registration request received from the user device,the MME may send a profile request to a home subscriber server (HSS). Asshown by reference number 115, based on receiving the profile request,the HSS may send, and the MME may receive, a profile (e.g., a subscriberprofile for the user device) that may include a service gap interval.The profile may include one or more service gap intervals for the userdevice, as described below. As shown by reference number 120, the MMEmay set a service gap timer for the user device based on the service gapinterval. Setting the service gap timer may include setting one or moreservice gap timers, as described below.

As shown in FIG. 1B, and by reference number 125, the user device maysend a service request, via the base station, to the MME. As shown byreference number 130, based on receiving the service request, the MMEmay determine that the service gap timer has expired. For example, theMME may determine that a service gap timer corresponding to the servicerequest has expired, as described below. As shown by reference number135, based on determining that the service gap timer has expired, theMME may authorize the service request. For example, the MME may causethe downstream network equipment to set up a connection with the userdevice if the relevant (e.g., corresponding to the service request)service gap timer has expired and restart the relevant service gap timerupon authorizing the service request, unless there is a further controlrestriction.

As shown in FIG. 1C, and by reference number 140, the user device maysend a service request, via the base station, to the MME. As shown byreference number 145, based on receiving the service request, the MMEmay determine that the service gap timer has not expired. For example,the user device may be sending service requests too frequently (i.e.,more frequently than the count range of the service gap timer). The MMEmay determine that the service gap timer has not expired by determiningthat a service gap timer corresponding to the service request has notexpired, as described below. As shown by reference number 150, based ondetermining that the service gap timer has not expired, the MME mayreject the service request. For example, the MME may send a rejectresponse to the user device via the base station.

In this way, the MME may track, control, reduce, and/or limit thefrequency with which a user device requests network services. Tracking,controlling, reducing, and/or limiting the frequency with which a userdevice requests network services, in addition to monitoring the volumeof data sent/received by the user device, may more completely reflectthe network resources consumed by a user device. Thus, implementationsdescribed herein may reduce and/or capture network resources consumed byuser devices that frequently request network services, including userdevices that frequently send/receive relatively small amounts of data.

As indicated above, FIGS. 1A-1C are provided merely as an example. Otherexamples are possible and may differ from what was described with regardto FIGS. 1A-1C.

FIG. 2 is a diagram of an example environment 200 in which systemsand/or methods, described herein, may be implemented. As shown in FIG.2, environment 200 may include a user device 205; a base station 210; amobility management entity device (MME) 215; a serving gateway (SGW)220; a packet data network gateway (PGW) 225; a home subscriber server(HSS) 230; an authentication, authorization, and accounting server (AAA)235; a short message service center (SMSC) 240; and a network 245.Devices of environment 200 may interconnect via wired connections,wireless connections, or a combination of wired and wirelessconnections.

Some implementations are described herein as being performed within along term evolution (LTE) network for explanatory purposes. Someimplementations may be performed within a network that is not an LTEnetwork, such as a third generation (3G) network, a code divisionmultiple access (CDMA) network, or another type of network.

Environment 200 may include an evolved packet system (EPS) that includesan LTE network and/or an evolved packet core (EPC) that operate based ona third generation partnership project (3GPP) wireless communicationstandard. The LTE network may include a radio access network (RAN) thatincludes one or more base stations 210 that take the form of evolvedNode Bs (eNBs) via which user device 205 communicates with the EPC. TheEPC may include MME 215, SGW 220, and/or PGW 225 that enable user device205 to communicate with network 245 and/or an Internet protocol (IP)multimedia subsystem (IMS) core. The IMS core may include HSS 230 and/orAAA 235, and may manage device registration and authentication, sessioninitiation, etc., associated with user devices 205. HSS 230 and/or AAA235 may reside in the EPC and/or the IMS core.

User device 205 may include one or more devices capable of communicatingwith base station 210 and/or a network (e.g., network 245). For example,user device 205 may include a wireless communication device, aradiotelephone, a personal communications system (PCS) terminal (e.g.,that may combine a cellular radiotelephone with data processing and datacommunications capabilities), a smart phone, a laptop computer, a tabletcomputer, a personal gaming system, a wearable communication device(e.g., a pair of smart eyeglasses, a smart watch, etc.), a machinedevice, and/or a similar device. User device 205 may send traffic toand/or receive traffic from network 245 (e.g., via base station 210, SGW220, and/or PGW 225).

Base station 210 may include one or more devices capable of transferringtraffic, such as audio, video, text, and/or other traffic, destined forand/or received from user device 205. In some implementations, basestation 210 may include an eNB associated with the LTE network thatreceives traffic from and/or sends traffic to network 245 via SGW 220and/or PGW 225. Additionally, or alternatively, one or more basestations 210 may be associated with a radio access network that is notassociated with the LTE network. Base station 210 may send traffic toand/or receive traffic from user device 205 via an air interface. Insome implementations, base station 210 may include a small cell basestation, such as a base station of a microcell, a picocell, and/or afemtocell.

MME 215 may include one or more devices, such as one or more serverdevices, capable of managing authentication, activation, deactivation,and/or mobility functions associated with user device 205. In someimplementations, MME 215 may perform operations relating toauthentication of user device 205. Additionally, or alternatively, MME215 may facilitate the selection of a particular SGW 220 and/or aparticular PGW 225 to serve traffic to and/or from user device 205. MME215 may perform operations associated with handing off user device 205from a first base station 210 to a second base station 210 when userdevice 205 is transitioning from a first cell associated with the firstbase station 210 to a second cell associated with the second basestation 210. Additionally, or alternatively, MME 215 may select anotherMME (not pictured), to which user device 205 should be handed off (e.g.,when user device 205 moves out of range of MME 215). In someimplementations, MME 215 may establish a signaling session with HSS 230using an S6a interface.

SGW 220 may include one or more devices capable of routing packets. Forexample, SGW 220 may include one or more data processing and/or traffictransfer devices, such as a gateway, a router, a modem, a switch, afirewall, a network interface card (NIC), a hub, a bridge, a serverdevice, an optical add/drop multiplexer (OADM), or any other type ofdevice that processes and/or transfers traffic. In some implementations,SGW 220 may aggregate traffic received from one or more base stations210 associated with the LTE network, and may send the aggregated trafficto network 245 (e.g., via PGW 225) and/or other network devicesassociated with the EPC and/or the IMS core. SGW 220 may also receivetraffic from network 245 and/or other network devices, and may send thereceived traffic to user device 205 via base station 210. Additionally,or alternatively, SGW 220 may perform operations associated with handingoff user device 205 to and/or from an LTE network.

PGW 225 may include one or more devices capable of providingconnectivity for user device 205 to external packet data networks (e.g.,other than the depicted EPC and/or LTE network). For example, PGW 225may include one or more data processing and/or traffic transfer devices,such as a gateway, a router, a modem, a switch, a firewall, a NIC, ahub, a bridge, a server device, an OADM, or any other type of devicethat processes and/or transfers traffic. In some implementations, PGW225 may aggregate traffic received from one or more SGWs 220, and maysend the aggregated traffic to network 245. Additionally, oralternatively, PGW 225 may receive traffic from network 245, and maysend the traffic to user device 205 via SGW 220 and base station 210.PGW 225 may record data usage information (e.g., byte usage), and mayprovide the data usage information to AAA 235.

HSS 230 may include one or more devices, such as one or more serverdevices, capable of managing (e.g., receiving, generating, storing,processing, and/or providing) information associated with user device205. For example, HSS 230 may manage subscription information associatedwith user device 205, such as information that identifies a subscriberprofile of a user associated with user device 205, information thatidentifies services and/or applications that are accessible to userdevice 205, location information associated with user device 205, anetwork identifier (e.g., a network address) that identifies user device205, information that identifies a treatment of user device 205 (e.g.,quality of service information, a quantity of minutes allowed per timeperiod, a quantity of data consumption allowed per time period, afrequency of permitted network access, etc.), and/or similarinformation. HSS 230 may provide this information to one or more otherdevices of environment 200 to support the operations performed by thosedevices.

AAA 235 may include one or more devices, such as one or more serverdevices, that perform authentication, authorization, and/or accountingoperations for communication sessions associated with user device 205.For example, AAA 235 may perform authentication operations for userdevice 205 and/or a user of user device 205 (e.g., using one or morecredentials), may control access, by user device 205, to a serviceand/or an application (e.g., based on one or more restrictions, such astime-of-day restrictions, location restrictions, single or multipleaccess restrictions, read/write restrictions, etc.), may track resourcesconsumed by user device 205 (e.g., a quantity of voice minutes consumed,a quantity of data consumed, a frequency of network access attempts,etc.), and/or may perform similar operations.

SMSC 240 may include one or more devices, such as one or more serverdevices, that are capable of sending, receiving, storing, forwarding,converting, and/or delivering short message service (SMS) messagesand/or maintaining time stamps for SMS messages. For example, SMSC 240may maintain time stamps for, send, receive, store, forward, convert,and/or deliver SMS messages from, to and/or between user device 205,base station 210, MME 215, SGW 220, PGW 225, HSS 230, AAA 235 and/ornetwork 245.

Network 245 may include one or more wired and/or wireless networks. Forexample, network 245 may include a cellular network (e.g., an LTEnetwork, a 3G network, a CDMA network, etc.), a public land mobilenetwork (PLMN), a wireless local area network (e.g., a Wi-Fi network), alocal area network (LAN), a wide area network (WAN), a metropolitan areanetwork (MAN), a telephone network (e.g., the Public Switched TelephoneNetwork (PSTN)), a private network, an ad hoc network, an intranet, theInternet, a fiber optic-based network, a cloud computing network, and/ora combination of these or other types of networks.

The number and arrangement of devices and networks shown in FIG. 2 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may beimplemented within a single device, or a single device shown in FIG. 2may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as beingperformed by another set of devices of environment 200.

FIG. 3 is a diagram of example components of a device 300. Device 300may correspond to user device 205, base station 210, MME 215, SGW 220,PGW 225, HSS 230, AAA 235, and/or SMSC 240. In some implementations,user device 205, base station 210, MME 215, SGW 220, PGW 225, HSS 230,AAA 235, and/or SMSC 240 may include one or more devices 300 and/or oneor more components of device 300. As shown in FIG. 3, device 300 mayinclude a bus 310, a processor 320, a memory 330, a storage component340, an input component 350, an output component 360, and acommunication interface 370.

Bus 310 may include a component that permits communication among thecomponents of device 300. Processor 320 is implemented in hardware,firmware, or a combination of hardware and software. Processor 320 mayinclude a processor (e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), an accelerated processing unit (APU), etc.), amicroprocessor, and/or any processing component (e.g., afield-programmable gate array (FPGA), an application-specific integratedcircuit (ASIC), etc.) that interprets and/or executes instructions. Insome implementations, processor 320 may include one or more processorscapable of being programmed to perform a function. Memory 330 mayinclude a random access memory (RAM), a read only memory (ROM), and/oranother type of dynamic or static storage device (e.g., a flash memory,a magnetic memory, an optical memory, etc.) that stores informationand/or instructions for use by processor 320.

Storage component 340 may store information and/or software related tothe operation and use of device 300. For example, storage component 340may include a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, a solid state disk, etc.), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of computer-readable medium, along with acorresponding drive.

Input component 350 may include a component that permits device 300 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, amicrophone, etc.). Additionally, or alternatively, input component 350may include a sensor for sensing information (e.g., a global positioningsystem (GPS) component, an accelerometer, a gyroscope, an actuator,etc.). Output component 360 may include a component that provides outputinformation from device 300 (e.g., a display, a speaker, one or morelight-emitting diodes (LEDs), etc.).

Communication interface 370 may include a transceiver-like component(e.g., a transceiver, a separate receiver and transmitter, etc.) thatenables device 300 to communicate with other devices, such as via awired connection, a wireless connection, or a combination of wired andwireless connections. Communication interface 370 may permit device 300to receive information from another device and/or provide information toanother device. For example, communication interface 370 may include anEthernet interface, an optical interface, a coaxial interface, aninfrared interface, a radio frequency (RF) interface, a universal serialbus (USB) interface, a Wi-Fi interface, a cellular network interface, orthe like.

Device 300 may perform one or more processes described herein. Device300 may perform these processes in response to processor 320 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 330 and/or storage component 340. Acomputer-readable medium is defined herein as a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 330 and/or storagecomponent 340 from another computer-readable medium or from anotherdevice via communication interface 370. When executed, softwareinstructions stored in memory 330 and/or storage component 340 may causeprocessor 320 to perform one or more processes described herein.Additionally, or alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 3 are provided asan example. In practice, device 300 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 3. Additionally, or alternatively, aset of components (e.g., one or more components) of device 300 mayperform one or more functions described as being performed by anotherset of components of device 300.

FIG. 4 is a flow chart of an example process 400 for controllingfrequency of user device access to a network. In some implementations,one or more process blocks of FIG. 4 may be performed by MME 215. Insome implementations, one or more process blocks of FIG. 4 may beperformed by another device or a group of devices separate from orincluding MME 215. For example, one or more process blocks of FIG. 4 maybe performed by one or more devices shown in environment 200, such asuser device 205, base station 210, SGW 220, PGW 225, SMSC 240, and/orother devices such as a mobile switching center (MSC) or a servinggeneral packet radio service (GPRS) support node (SGSN).

As shown in FIG. 4, process 400 may include receiving, from a subscriberprofile stored for a user device, a service gap interval for the userdevice (block 410). For example, MME 215 may receive a service gapinterval and/or period for user device 205, such as from HSS 230 via theS6a interface. In some implementations, the service gap interval foruser device 205 may be provisioned and/or stored in a subscriberprofile, which may be stored by HSS 230. In some implementations, MME215 may receive the service gap interval when user device 205attaches/registers to a network (e.g., the LTE network).

A user (e.g., a customer, a subscriber, an owner, an operator, and/or amanufacturer of user device 205) may sign up for a service plan (e.g.,voice, data, M2M, IoT, or another service) for user device 205. Forexample, the user may select a plan type (e.g., data and/or voice) and adata usage, allotment, and/or quota (e.g., a quantity and/or amount ofdata consumption and/or number of minutes of usage allowed per timeperiod, such as per day, per month, per year, etc.). The user may alsoselect, purchase, and/or be assigned a frequency and/or interval atwhich user device 205 may access and/or use the network to send and/orreceive data (e.g., once per day, twice per hour, every 15 minutes,etc.).

Based on the selected, purchased, and/or assigned network access and/oruse frequency and/or interval, the network operator may provision, inthe subscriber profile for user device 205, a corresponding service gapinterval (e.g., 24 hours, 30 minutes, 15 minutes, etc.) during whichuser device 205 will not be permitted to access and/or use the network(e.g., to send and/or receive data). In some implementations, the costfor the service plan may be a function of one or more of the plan type,data usage, and/or service frequency. For example, a plan having ahigher service frequency (e.g., a shorter service gap interval) may bemore expensive than a plan having a lower service frequency (e.g., alonger service gap interval).

In some implementations, two or more service gap intervals, at leastsome of which may be associated with different types of service requestsand/or different forms of communication, may be provisioned and/orstored in the subscriber profile for user device 205. For example, thesubscriber profile may include a first service gap interval associatedwith data or user plane service requests (e.g., for data communicationthat involves a physical bearer connection) and a second service gapinterval associated with control plane service requests (e.g., for datacommunication that does not involve a physical bearer connection). Insome implementations, the subscriber profile may include a service gapinterval associated with requests to attach/register to the network(e.g., the LTE network), which may prevent user device 205 fromattempting to remain attached to the LTE network. Additionally, oralternatively, the subscriber profile may include a service gap intervalassociated with any network service that the service operator or otherentity is interested in controlling and/or tracking.

The service gap intervals associated with different forms ofcommunication and/or network services may be different, in someimplementations. For example, a service gap interval associated withcontrol plane service requests may be different than a service gapinterval associated with data or user plane service requests. Theservice gap intervals associated with different forms of communicationand/or network services may be the same, in some implementations.

In some implementations, the length of a service gap interval may berelated and/or proportional to the network resources used by the networkservice associated with the service gap interval. For example, a servicegap interval associated with control plane service requests may beshorter than a service gap interval associated with data or user planeservice requests.

As further shown in FIG. 4, process 400 may include setting a timerbased on the service gap interval (block 420). For example, MME 215 mayset a service gap timer, based on the service gap interval received fromHSS 230, for user device 205 that MME 215 serves.

In some implementations, MME 215 may set two or more service gap timersfor user device 205, based on multiple service gap intervals receivedfrom HSS 230. For example, if the subscriber profile for user device 205includes multiple service gap intervals, MME 215 may use or maintainmultiple service gap timers for user device 205, which may include aseparate service gap timer for each service gap interval (e.g., separateservice gap timers for control plane service requests and data or userplane service requests, etc.) stored in the subscriber profile for userdevice 205. In some implementations, at least some of the multipleservice gap timers may run for the same time interval. In someimplementations, at least some of the multiple service gap timers mayrun for different time intervals.

The service gap timer may be of any suitable configuration for trackingthe service gap interval received from HSS 230. In some implementations,the service gap timer may be a countdown timer, which starts, at a valuecorresponding to the service gap interval, when MME 215 detects asuitable triggering event, as discussed in more detail below, and runsuntil the service gap timer reaches zero. For example, if the servicegap interval is 30 minutes, the service gap timer may start with or at30 minutes and run until the service gap timer reaches zero (e.g., at 30minutes). In some implementations, the service gap timer may start at asuitable time or point (e.g., zero) and run until the service gap timerreaches the service gap interval or another suitable ending or stoppingtime.

MME 215 may start the service gap timer based on MME 215 detecting asuitable triggering event. For example, MME 215 may start a service gaptimer upon: MME 215 detecting that user device 205 hasattached/registered to the network or has attempted to do so; MME 215receiving a service request from user device 205; MME 215 detectingstart of service for user device 205; and/or MME 215 receiving, fromuser device 205, a signaling message associated with any network serviceand/or activity the network operator is interested in controlling and/ortracking.

In some implementations, where the subscriber profile for user device205 includes multiple service gap intervals, MME 215 may start a servicegap timer for one, some, or all of the stored service gap intervalsbased on a suitable triggering event identified for the one, some, orall of the stored service gap intervals. For example, MME 215 may startall service gap timers based on any triggering event, or MME 215 maystart one service gap timer, or some of the service gap timers, based ona particular specified event (e.g., start a service gap timer forcontrol plane service requests based on receiving a control planeservice request, start a service gap timer for data or user planeservice requests based on receiving a data or user plane servicerequest, etc.).

In some implementations, MME 215 may store, for user device 205, aservice gap timer or timers for a suitable period of time. For example,MME 215 may store a service gap timer for as long as a user profile isstored by MME 215. Additionally, or alternatively, MME 215 may purge ordelete a service gap timer when user device 205 explicitly de-registersor is de-attached from the network or after a predefined threshold timehas passed.

As further shown in FIG. 4, process 400 may include receiving, from theuser device, a service request (block 430). For example, MME 215 mayreceive a service request from user device 205. In some implementations,where the subscriber profile for user device 205 includes multipleservice gap intervals (e.g., for control plane service requests, data oruser plane service requests, requests to attach/register to the network(e.g., the LTE network), signaling messages, other activities to becontrolled/tracked, etc.), MME 215 may distinguish different types ofservice requests and determine which type of service request has beenreceived. For example, MME 215 may determine that the service request isa request to set-up a voice call, transmit data over the network,establish or maintain radio connectivity with the network, etc.

As further shown in FIG. 4, process 400 may include determining whetherthe timer has expired (block 440). For example, MME 215 may, uponreceipt of a service request from user device 205, determine if aservice gap timer for user device 205 has expired. In someimplementations, MME 215 may determine that the service gap timer hasexpired when the service gap timer is no longer running (e.g., when theservice gap timer has reached zero for a countdown timer, or when theservice gap timer has reached the service gap interval or another timeperiod for a count-up timer). In some implementations, MME 215 maydetermine that the service gap timer has expired when the service gaptimer is within a predefined threshold (e.g., within about 0.1%, 0.5%,1%, 5%, etc. of the service gap interval) either before or after theservice gap timer has reached zero or the service gap interval.

In some implementations, where the subscriber profile for user device205 includes multiple service gap intervals (e.g., for control planeservice requests, data or user plane service requests, requests toattach/register to the network (e.g., the LTE network), signalingmessages, other activities to be controlled/tracked, etc.), MME 215 maydetermine if the service gap timer corresponding to the received servicerequest has expired.

As further shown in FIG. 4, if the timer has not expired (block 440—NO),process 400 may include rejecting the service request received from theuser device (block 450). For example, if MME 215 determines that aservice gap timer for user device 205 has not expired, MME 215 mayreject or deny the service request. In some implementations, if MME 215determines that a service gap timer for user device 205 has not expired,MME 215 may determine and/or provide a corresponding indication ornotice (e.g., to user device 205) that user device 205 is making aservice request too soon (e.g., less than a service gap interval since afirst or most recent prior request) or that user device 205 is makingservice requests too frequently (e.g., at higher than a permittedfrequency and/or rate).

In some implementations, MME 215 may provide, to user device 205, atime-to-wait indication or notification when or if MME 215 hasdetermined that the service gap timer for user device 205 has notexpired. For example, MME 215 may notify user device 205 how long userdevice 205 should and/or needs to wait before requesting service again.In some implementations, the time-to-wait indication may encourageand/or prompt user device 205 to wait for the indicated time period soas to avoid expending and/or consuming network resources based on, forexample, additional and/or repeated rejected service requests and/orfailed requests to attach/register to the network.

As further shown in FIG. 4, if the timer has expired (block 440—YES),process 400 may include allowing the service request received from theuser device and communicating with downstream network equipment to setup a network connection for the user device (block 460). For example, ifMME 215 determines that the service gap timer for user device 205 hasexpired, MME 215 may allow and/or accept the service request from userdevice 205. If MME 215 allows and/or accepts the service request, MME215 may communicate with downstream network equipment (e.g., SGW 220and/or PGW 225 for data or user plane service requests or SMSC 240 forcontrol plane service requests) to set up the requested networkconnection so that user device 205 can communicate via a network (e.g.,an LTE network), or MME 215 may permit user device 205 toattach/register to a network (e.g., an LTE network). For example, MME215 may send an instruction, to the downstream network equipment, toestablish a network connection with user device 205, to provide arequested network service.

In some implementations, if MME 215 determines that the service gaptimer for user device 205 has expired, MME 215 may determine that aninterval since a prior service request by user device 205 is greaterthan or equal to a service gap interval for user device 205 or that userdevice 205 is making service requests at, or at less than, a permittedfrequency and/or rate.

As further shown in FIG. 4, process 400 may include resetting the timer,for the service gap interval, for the user device (block 470). Forexample, if MME 215 determines that the service gap timer for userdevice 205 has expired and/or MME 215 has allowed the service requestfrom user device 205, MME 215 may reset the service gap timer (e.g., forthe service gap interval for user device 205), which may block servicerequests from user device 205 during the service gap interval after theallowed service request. In some implementations, where the subscriberprofile for user device 205 includes multiple service gap intervals, MME215 may reset the service gap timer corresponding to the allowed servicerequest or MME 215 may reset some or all of multiple service gap timersit maintains for user device 205.

Although FIG. 4 shows example blocks of process 400, in someimplementations, process 400 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 4. Additionally, or alternatively, two or more of theblocks of process 400 may be performed in parallel.

FIG. 5 is a call flow diagram of an example call flow 500 forcontrolling frequency of user device access to a network. FIG. 5 showsan example of a user device requesting network service, and eitherhaving its service request denied, if a service gap timer is running, orallowed, if the service gap timer is not running (e.g., where the timerhas expired).

As shown in FIG. 5, and by reference number 505, user device 205 mayregister to a network. As shown by reference number 510, MME 215 mayperform an authentication and profile download, during which asubscriber profile for user device 205 may be transmitted from HSS 230to MME 215. As further shown by reference number 510, the subscriberprofile may indicate a service gap interval for user device 205.

As shown in FIG. 5, and by reference number 515, user device 205 maysend a service request, which is received by base station 210 andtransmitted to MME 215. As shown by reference number 520, MME 215 maycheck if a service gap timer is running for user device 205 based onreceiving the service request.

If the service gap timer is running for user device 205 (e.g., MME 215has a service gap timer, for user device 205, that has not expired), MME215 may reject the service request, as shown by reference number 525. IfMME 215 rejects the service request, MME 215 may send a reject responseto base station 210, which may transmit the reject response to userdevice 205, as shown by reference number 530.

If the service gap timer is not running for user device 205 (e.g., MME215 has a service gap timer, for user device 205, that has expired), MME215 may allow the service request and send the service request todownstream network equipment (e.g., SGW 220, PGW 225, SMSC 240, etc.),as shown by reference number 535. In some implementations, a service gaptimer may not be running for user device 205 where user device 215 hasnot previously transmitted a service request (e.g., where the presentlyconsidered service request is the first service request from user device205). MME 215 may also send an instruction, to the downstream networkequipment, to establish a connection with user device 205, as shown byreference number 540. MME 215 may then restart a service gap timer foruser device 205, as shown by reference number 545.

As indicated above, FIG. 5 is provided merely as an example. Otherexamples are possible and may differ from what was described with regardto FIG. 5.

Implementations described herein may track, control, reduce, and/orlimit the frequency and/or rate at which user devices access and/orrequest services from a network. Tracking, controlling, reducing, and/orlimiting the frequency and/or rate at which user devices access and/orrequest services from a network may reduce and/or capture the networkresources consumed by user devices, including user devices thatfrequently send/receive small data packages over the network.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term component is intended to be broadly construedas hardware, firmware, or a combination of hardware and software.

Some implementations are described herein in connection with thresholds.As used herein, satisfying a threshold may refer to a value beinggreater than the threshold, more than the threshold, higher than thethreshold, greater than or equal to the threshold, less than thethreshold, fewer than the threshold, lower than the threshold, less thanor equal to the threshold, equal to the threshold, etc.

To the extent the aforementioned embodiments collect, store, or employpersonal information provided by individuals, it should be understoodthat such information shall be used in accordance with all applicablelaws concerning protection of personal information. Additionally, thecollection, storage, and use of such information may be subject toconsent of the individual to such activity, for example, through wellknown “opt-in” or “opt-out” processes as may be appropriate for thesituation and type of information. Storage and use of personalinformation may be in an appropriately secure manner reflective of thetype of information, for example, through various encryption andanonymization techniques for particularly sensitive information.

It will be apparent that systems and/or methods, described herein, maybe implemented in different forms of hardware, firmware, or acombination of hardware and software. The actual specialized controlhardware or software code used to implement these systems and/or methodsis not limiting of the implementations. Thus, the operation and behaviorof the systems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwarecan be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of possible implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of possible implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Furthermore,as used herein, the term “set” is intended to include one or more items(e.g., related items, unrelated items, a combination of related andunrelated items, etc.), and may be used interchangeably with “one ormore.” Where only one item is intended, the term “one” or similarlanguage is used. Also, as used herein, the terms “has,” “have,”“having,” or the like are intended to be open-ended terms. Further, thephrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

What is claimed is:
 1. A device, comprising: one or more processors to:receive, from a profile stored for a user device, a service gap intervalfor the user device; set a timer, for the user device, based on theservice gap interval; receive, from the user device, a service request;determine whether the timer has expired; and selectively reject or allowthe service request based on determining whether the timer has expired,the service request being rejected when the timer has not expired, andthe service request being allowed when the timer has expired, and theone or more processors, when allowing the service request when the timerhas expired, are to: communicate with downstream network equipment toset up a network connection for the user device.
 2. The device of claim1, where the one or more processors, when allowing the service requestwhen the timer has expired, are further to reset the timer for theservice gap interval.
 3. The device of claim 1, where the one or moreprocessors: when receiving the service gap interval for the user device,are to receive a plurality of service gap intervals for the user device,the plurality of service gap intervals including the service gapinterval; and when setting the timer, are to set a plurality of timers,for the user device, based on the plurality of service gap intervals,the plurality of timers including the timer.
 4. The device of claim 3,where the plurality of service gap intervals are associated with aplurality of different types of service requests.
 5. The device of claim3, where the one or more processors are further to: determine, for theservice request, a type of service request; and determine, based on thetype of service request, that one of the plurality of timers is acorresponding timer for the service request; where the one or moreprocessors, when determining whether the timer has expired, are to:determine whether the corresponding timer for the service request hasexpired; and where the one or more processors, when selectivelyrejecting or allowing the service request based on determining whetherthe timer has expired, are to: selectively reject or allow the servicerequest based on determining whether the corresponding timer for theservice request has expired.
 6. The device of claim 1, where the one ormore processors, when rejecting the service request when the timer hasnot expired, are to: send, to the user device, a notification that thetimer has not expired.
 7. The device of claim 1, where the servicerequest, received from the user device, is a second service request; andwhere the one or more processors are further to: start the timer basedon receiving a first service request from the user device, the firstservice request being received, from the user device, prior to thesecond service request being received, from the user device.
 8. Anon-transitory computer-readable medium storing instructions, theinstructions comprising: one or more instructions that, when executed byone or more processors, cause the one or more processors to: receive,from a subscriber profile stored for a user device, informationidentifying a service frequency for the user device; start a service gaptimer, corresponding to the service frequency, for the user device;receive, from the user device, a request for a network service;determine whether the service gap timer has expired; and selectivelydeny or provide the network service based on determining whether theservice gap timer has expired, the network service being denied when theservice gap timer has not expired, and the network service beingprovided when the service gap timer has expired.
 9. The non-transitorycomputer-readable medium of claim 8, where the one or more instructions,that cause the one or more processors to selectively deny or provide thenetwork service based on determining whether the service gap timer hasexpired, cause the one or more processors to: cause a network connectionto be established with downstream network equipment to provide thenetwork service for the user device when the service gap timer hasexpired; and restart the service gap timer.
 10. The non-transitorycomputer-readable medium of claim 8, where: the one or moreinstructions, that cause the one or more processors to receive theinformation identifying the service frequency for the user device, causethe one or more processors to receive information identifying a firstservice frequency and a second service frequency for the user device;and the one or more instructions, that cause the one or more processorsto start the service gap timer, corresponding to the service frequency,for the user device, cause the one or more processors to: start a firstservice gap timer, corresponding to the first service frequency, for theuser device, and start a second service gap timer, corresponding to thesecond service frequency, for the user device.
 11. The non-transitorycomputer-readable medium of claim 10, where the first service frequencyand the second service frequency respectively correspond to a firstnetwork service and a second network service, the first network servicebeing different from the second network service.
 12. The non-transitorycomputer-readable medium of claim 11, where the one or moreinstructions, when executed by the one or more processors, further causethe one or more processors to: determine, for the network service, anetwork service type; and determine, based on the network service typefor the network service, that one of the first service gap timer or thesecond service gap timer is a corresponding timer for the networkservice; where the one or more instructions, that cause the one or moreprocessors to determine whether the service gap timer has expired, causethe one or more processors to: determine whether the corresponding timerfor the network service has expired; and where the one or moreinstructions, that cause the one or more processors to selectively denyor provide the network service based on determining whether the servicegap timer has expired, cause the one or more processors to: selectivelydeny or provide the network service based on determining whether thecorresponding timer for the network service has expired.
 13. Thenon-transitory computer-readable medium of claim 8, where the one ormore instructions, that cause the one or more processors to selectivelydeny or provide the network service based on determining whether theservice gap timer has expired, cause the one or more processors to:send, to the user device, a notification that the service gap timer hasnot expired when denying the network service.
 14. The non-transitorycomputer-readable medium of claim 8, where the request for the networkservice, received from the user device, is a second request for networkservice; and where the one or more instructions, when executed by theone or more processors, further cause the one or more processors to:start the service gap timer based on receiving, from the user device, afirst request for network service, the first request for network servicebeing received, from the user device, prior to the second request fornetwork service being received, from the user device.
 15. A method,comprising: receiving, by a device, information identifying a servicefrequency for a user device; starting, by the device, a service gaptimer, corresponding to the service frequency, for the user device;receiving, by the device, a service request from the user device;determining, by the device, whether the service gap timer has expired;and selectively accepting or rejecting, by the device, the servicerequest based on determining whether the service gap timer has expired,the service request being rejected when the service gap timer has notexpired, and the service request being accepted when the service gaptimer has expired.
 16. The method of claim 15, where accepting theservice request comprises: causing, by the device, a network connection,for the user device, to be established with downstream networkequipment; and restarting, by the device, the service gap timer.
 17. Themethod of claim 15, where receiving the information identifying theservice frequency for the user device comprises: receiving informationidentifying a plurality of service frequencies for the user device, atleast some of the plurality of service frequencies corresponding to aplurality of different types of service requests; and where starting theservice gap timer, corresponding to the service frequency, for the userdevice, comprises: starting a plurality of service gap timerscorresponding to the plurality of service frequencies, the plurality ofservice gap timers including the service gap timer.
 18. The method ofclaim 17, further comprising: determining, for the service request, atype of service request; and determining, based on the type of servicerequest, that one of the plurality of service gap timers is acorresponding service gap timer for the service request; wheredetermining whether the service gap timer has expired comprises:determining whether the corresponding service gap timer for the servicerequest has expired; and where selectively accepting or rejecting theservice request based on determining whether the service gap timer hasexpired comprises: selectively accepting or rejecting the servicerequest based on determining whether the corresponding service gap timerfor the service request has expired.
 19. The method of claim 15, whererejecting the service request when the service gap timer has not expiredcomprises: sending, to the user device, a notification that the servicegap timer has not expired.
 20. The method of claim 15, where the servicerequest, from the user device, is a second service request; and wherestarting the service gap timer comprises: starting the service gap timerbased on receiving a first service request from the user device, thefirst service request being received, by the device, prior to the secondservice request being received by the device.